import {create} from "zustand";
import LocalUtil from "@/utils/LocalUtil.ts";
import {IUserInfoDto} from "@/api/Types/ObjInterfaces.ts";

/**
  * 用户数据存储
  */
 export interface IUserInfoDtoStore {
     // 用户数据
     userInfoDto: IUserInfoDto,
     // 刷新用户数据，从本地读取用户数据对象
     refresh: () => void
 }

 export const useUserInfoStore = create<IUserInfoDtoStore>((set) => {
     // 初始化 userInfoDto，如果用户没有登录，写入游客数据
     let userInfoDto = LocalUtil.getUserInfoDto();
     return {
         userInfoDto: userInfoDto,
         refresh: () => {
             const userInfoDto = LocalUtil.getUserInfoDto();
             set({userInfoDto: userInfoDto})
         }
     }
 })